#include <stdio.h>

int main(){

    float x= 3.14f;

    //系统默认就是double类型
    double y = 3.14;

    double c = 4.5678;
    //遇到0.0000的问题  https://blog.csdn.net/qq_43019319/article/details/108981302
    //这是系统的问题，不是我的问题  不兼容的问题 属于极端情况   所以 以后就使用double就好，就完全够用了
    printf ("The value of a is %.2f\n", c);

    //使用科学计数法表示浮点数
    double a = 123.456e+3;//123.456*10^3
    //等同于
    double b = 123.456e3;
    printf ("%.2f\n", a);
    printf ("%.2f\n", b);

    //可以在常量的末尾加上专用字符,强行指定常量的类型
    float d = 3.14159f;//单精度浮点常量
    long double f = 1.23L;



    /**
     * 有人用温度计测量出用华氏法表示的温度(如64°F），今要求把它转
        换为以摄氏法表示的温度(如17.8℃)。转换的公式为：c = (5 / 9)*(f - 32)
        f表示华氏温度  , c表示摄氏温度
        没有完美的事情 不要追求完美
     */

    double hs , ss;
    //华氏温度
    hs = 64.0;
    //这里有一个坑,因为c是强类型语言，所以 整数/整数=整数  所以  5 / 9 = 0  所以 整体下来就是0
    ss = (5.0 / 9) * (hs - 32);//利用公式计算摄氏温度的值
    printf("hs=%.2f\nss=%.2f\n" , hs , ss);
    //总结  以后使用 double即可 完全够用










    return 0;
}